/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Logica;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 *
 * @author Cynthia
 */
public class HistorialEstado {

    private Date fechaInicio;
    private int estado;
    private Usuario usuario;
    private Date fechaCierre;
    private int id_accion;

    public Date getFechaCierre() {
        return fechaCierre;
    }

    public void setFechaCierre(Date fechaCierre) {
        this.fechaCierre = fechaCierre;
    }
    
    public void setFechaInicio(Date fechaInicio) {
        this.fechaInicio = fechaInicio;
    }
    
    public int getIdAccion(){
        return id_accion;
    }
    
    public void setIdAccion(int id_accion){
        this.id_accion=id_accion;
    }           
    
    public HistorialEstado() { };

    public HistorialEstado(Date fecha, int estado, Usuario usuario, Date fechaC) {
        this.fechaInicio = fecha;
        this.estado = estado;
        this.usuario = usuario;
        this.fechaCierre=fechaC;
    }

    public Date getFechaInicio() {
        return fechaInicio;
    }
    /* obtiene la fechaInicio, pero en String y de formato yyyy-MM-dd*/

    public String getFechaInicioString() {

        java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd");
        String fechaCambio = sdf.format(this.fechaInicio);
        return fechaCambio;
    }
    /* setea la fechaInicio, recibe string*/

    public void setFechaInicio(String fechaI) {

        try {
            DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
            this.fechaInicio = df.parse(fechaI);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /* complemento necesario del metodo set invertida*/

    public String getFechaInicioStringInvertida() {

        java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd-MM-yyyy");
        String fechaString = sdf.format(this.fechaInicio);
        return fechaString;
    }
    /* toma la feche de la bd, que es en yyyy-mm-dd y la pasa a dd-mm-YYYY*/

    public void setFechaInicioInvertida(String fechaI) {
        try {
            DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
            this.fechaInicio = df.parse(this.invertirCadena(fechaI));

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public String getFechaCierreString() {

        java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd");
        String fechaC = sdf.format(this.fechaCierre);
        return fechaC;
    }
    /* setea la fechaInicio, recibe string*/

    public void setFechaCierre(String fechaC) {

        try {
            DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
            this.fechaInicio = df.parse(fechaC);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /* complemento necesario del metodo set invertida*/

    public String getFechaCierreStringInvertida() {

        java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd-MM-yyyy");
        String fechaString = sdf.format(this.fechaInicio);
        return fechaString;
    }
    /* toma la feche de la bd, que es en yyyy-mm-dd y la pasa a dd-mm-YYYY*/

    public void setFechaCierreInvertida(String fechaC) {
        try {
            DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
            this.fechaInicio = df.parse(this.invertirCadena(fechaC));

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /* este metodo invierte la fechaInicio para pasar de yyyy-MM-dd " a dd-MM-yyyy o viceversa*/
    public String invertirCadena(String cadena) {
        String[] retorno = cadena.split("-");
        String aux = retorno[0];
        retorno[0] = retorno[2];
        retorno[2] = aux;

        return retorno[0] + "-" + retorno[1] + "-" + retorno[2];
    }

    public int getEstado() {
        return estado;
    }

    public void setEstado(int estado) {
        this.estado = estado;
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }
}
